//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright 2007 CORE Solutions Limited
// All rights reserved.
// PROPRIETARY AND CONFIDENTIAL INFORMATION.
// Use is subject to license terms.
//
// FUNCTION ID      :   CATALOG_DTL
// AUTHOR           :   Saint Peng 
// DATE CREATE      :   2007/07/17
// DESCRIPTION      :   a FORM file for the function, CATALOG_DTL
//                  :   
//                  :   
//                  :   
//
// MODIFICATION HISTORY:
// DATE         AUTHOR          VERSION NO.         COMMENT
// -----------  --------------  ------------------  -------------------
// 2007/07/17   Saint Peng      1.0                 source is generated.
//
//
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package com.erp.app.catalog.catalogDtl.web;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

import com.erp.framework.controller.form.*;
import com.erp.framework.controller.form.SimplePageEditStyleFormTemplate;
import com.erp.framework.util.CommonUtil;
import com.erp.framework.util.logger.Logger;

/**
* <p>A <strong>PageEditForm</strong> is a JavaBean which provides property
* getter and setter methods for all of the bean properties, and implements
* <code>Serializable</code>, as required by the JavaBean specification
* The main purpose for this bean is to get the user search criteria input
* and to get the user input from the web browsers.
* from the web browsers.
* As the name implies, it will only handle one-page-edit documents.
*
* @author          Saint Peng 
* @version 1.0     2007/07/17
* @since           FrameWork 1.0
*
*/
public class CatalogDtlForm extends SimplePageEditStyleFormTemplate {

	//Attributes (DB Table Name: T_CATALOG_DTL)
	private String[] companyCode;                                                                      //DB Column Name: COMPANY_CODE
	private String[] dtlId;                                                                            //DB Column Name: DTL_ID
	private String[] hdrLangCode;                                                                      //DB Column Name: LANG_CODE
	private String[] hdrDtlType;                                                                       //DB Column Name: DTL_TYPE
	private String[] hdrDtlName;                                                                       //DB Column Name: DTL_NAME
	private String[] hdrUom;                                                                           //DB Column Name: UOM
	private String[] hdrRecursiveTime;                                                                 //DB Column Name: RECURSIVE_TIME
	private String[] hdrStatus;                                                                        //DB Column Name: STATUS
	private String[] hdrPrecision;                                                                     //DB Column Name: PRECISION
	private String[] hdrLength;                                                                        //DB Column Name: LENGTH
	private String[] hdrOptionCode;                                                                    //DB Column Name: OPTION_CODE
	private String[] createUser;                                                                       //DB Column Name: CREATE_USER
	private String[] createDate;                                                                       //DB Column Name: CREATE_DATE
	private String[] updateUser;                                                                       //DB Column Name: UPDATE_USER
	private String[] updateDate;                                                                       //DB Column Name: UPDATE_DATE
	private String[] hdrDcInd;                                                                         //DB Column Name: DC_IND
	private String[] hdrDcDate;                                                                        //DB Column Name: DC_DATE

	//Searching Criteria Attributes (DB Table Name: T_CATALOG_DTL)
	private String srchCompanyCode;                                                                    //DB Column Name: COMPANY_CODE
	private String srchHdrStatus;                                                                      //DB Column Name: STATUS
	private String srchDtlIdFr;                                                                        //DB Column Name: DTL_ID
	private String srchDtlIdTo;                                                                        //DB Column Name: DTL_ID
	private String srchHdrLangCodeFr;                                                                  //DB Column Name: LANG_CODE
	private String srchHdrLangCodeTo;                                                                  //DB Column Name: LANG_CODE
	private String srchHdrDtlTypeFr;                                                                   //DB Column Name: DTL_TYPE
	private String srchHdrDtlTypeTo;                                                                   //DB Column Name: DTL_TYPE
	private String srchHdrDtlNameFr;                                                                   //DB Column Name: DTL_NAME
	private String srchHdrDtlNameTo;                                                                   //DB Column Name: DTL_NAME
	private String srchHdrUomFr;                                                                       //DB Column Name: UOM
	private String srchHdrUomTo;                                                                       //DB Column Name: UOM
	private String srchHdrRecursiveTimeFr;                                                             //DB Column Name: RECURSIVE_TIME
	private String srchHdrRecursiveTimeTo;                                                             //DB Column Name: RECURSIVE_TIME
	private String srchHdrPrecisionFr;                                                                 //DB Column Name: PRECISION
	private String srchHdrPrecisionTo;                                                                 //DB Column Name: PRECISION
	private String srchHdrLengthFr;                                                                    //DB Column Name: LENGTH
	private String srchHdrLengthTo;                                                                    //DB Column Name: LENGTH
	private String srchHdrOptionCodeFr;                                                                //DB Column Name: OPTION_CODE
	private String srchHdrOptionCodeTo;                                                                //DB Column Name: OPTION_CODE
	
	
	private CatalogDtlCommonValidator validator = new CatalogDtlCommonValidator();
	/**
	* Converts to a string representing the data in this object.
	* A new <code>String</code> object is allocated and initialized to 
	* contain the character sequence currently represented by this 
	* object. This <code>String</code> is then returned. Subsequent 
	* changes to this object do not affect the contents of the 
	* <code>String</code>. 
	*
	* @return     a string representation of the object.
	* @see        java.lang.Object#toString()
	* @author     Saint Peng 
	* @since      Framework 1.0
	*/
	public String toString() {
		String pkStr = "PK: {srchDtlIdFr = " + this.srchDtlIdFr
			+ "\n, srchDtlIdTo = " + this.srchDtlIdTo + "}\n";

		String colStr = "COL: {srchHdrLangCodeFr = " + this.srchHdrLangCodeFr
			+ "\n, srchHdrLangCodeTo = " + this.srchHdrLangCodeTo
			+ "\n, srchHdrDtlTypeFr = " + this.srchHdrDtlTypeFr
			+ "\n, srchHdrDtlTypeTo = " + this.srchHdrDtlTypeTo
			+ "\n, srchHdrDtlNameFr = " + this.srchHdrDtlNameFr
			+ "\n, srchHdrDtlNameTo = " + this.srchHdrDtlNameTo
			+ "\n, srchHdrUomFr = " + this.srchHdrUomFr
			+ "\n, srchHdrUomTo = " + this.srchHdrUomTo
			+ "\n, srchHdrRecursiveTimeFr = " + this.srchHdrRecursiveTimeFr
			+ "\n, srchHdrRecursiveTimeTo = " + this.srchHdrRecursiveTimeTo
			+ "\n, srchHdrPrecisionFr = " + this.srchHdrPrecisionFr
			+ "\n, srchHdrPrecisionTo = " + this.srchHdrPrecisionTo
			+ "\n, srchHdrLengthFr = " + this.srchHdrLengthFr
			+ "\n, srchHdrLengthTo = " + this.srchHdrLengthTo
			+ "\n, srchHdrOptionCodeFr = " + this.srchHdrOptionCodeFr
			+ "\n, srchHdrOptionCodeTo = " + this.srchHdrOptionCodeTo + "}\n";

		String mandatoryStr = "{srchCompanyCode = " + this.srchCompanyCode
			+ "\n, srchHdrStatus = " + this.srchHdrStatus
			+ "}\n";

		return "toString() is:\n" + mandatoryStr + pkStr + colStr;
	}

	
	
	public void otherValidate(ActionErrors errors) {

		validator.validateSave(errors, this);
	}
	
	////////////////////////////////////////////////////////////////////////////////
	//Generated Accessors (get/set methods) for Table (CatalogDtl)
	////////////////////////////////////////////////////////////////////////////////

	public String[] getCompanyCode() {
		return this.companyCode;
	}

	public String[] getDtlId() {
		return this.dtlId;
	}

	public String[] getHdrLangCode() {
		return this.hdrLangCode;
	}

	public String[] getHdrDtlType() {
		return this.hdrDtlType;
	}

	public String[] getHdrDtlName() {
		return this.hdrDtlName;
	}

	public String[] getHdrUom() {
		return this.hdrUom;
	}

	public String[] getHdrRecursiveTime() {
		return this.hdrRecursiveTime;
	}

	public String[] getHdrStatus() {
		return this.hdrStatus;
	}

	public String[] getHdrPrecision() {
		return this.hdrPrecision;
	}

	public String[] getHdrLength() {
		return this.hdrLength;
	}

	public String[] getHdrOptionCode() {
		return this.hdrOptionCode;
	}

	public String[] getCreateUser() {
		return this.createUser;
	}

	public String[] getCreateDate() {
		return this.createDate;
	}

	public String[] getUpdateUser() {
		return this.updateUser;
	}

	public String[] getUpdateDate() {
		return this.updateDate;
	}

	public String[] getHdrDcInd() {
		return this.hdrDcInd;
	}

	public String[] getHdrDcDate() {
		return this.hdrDcDate;
	}

	public void setCompanyCode(String[] companyCode) {
		this.companyCode = companyCode;
	}

	public void setDtlId(String[] dtlId) {
		this.dtlId = dtlId;
	}

	public void setHdrLangCode(String[] hdrLangCode) {
		this.hdrLangCode = hdrLangCode;
	}

	public void setHdrDtlType(String[] hdrDtlType) {
		this.hdrDtlType = hdrDtlType;
	}

	public void setHdrDtlName(String[] hdrDtlName) {
		this.hdrDtlName = hdrDtlName;
	}

	public void setHdrUom(String[] hdrUom) {
		this.hdrUom = hdrUom;
	}

	public void setHdrRecursiveTime(String[] hdrRecursiveTime) {
		this.hdrRecursiveTime = hdrRecursiveTime;
	}

	public void setHdrStatus(String[] hdrStatus) {
		this.hdrStatus = hdrStatus;
	}

	public void setHdrPrecision(String[] hdrPrecision) {
		this.hdrPrecision = hdrPrecision;
	}

	public void setHdrLength(String[] hdrLength) {
		this.hdrLength = hdrLength;
	}

	public void setHdrOptionCode(String[] hdrOptionCode) {
		this.hdrOptionCode = hdrOptionCode;
	}

	public void setCreateUser(String[] createUser) {
		this.createUser = createUser;
	}

	public void setCreateDate(String[] createDate) {
		this.createDate = createDate;
	}

	public void setUpdateUser(String[] updateUser) {
		this.updateUser = updateUser;
	}

	public void setUpdateDate(String[] updateDate) {
		this.updateDate = updateDate;
	}

	public void setHdrDcInd(String[] hdrDcInd) {
		this.hdrDcInd = hdrDcInd;
	}

	public void setHdrDcDate(String[] hdrDcDate) {
		this.hdrDcDate = hdrDcDate;
	}

	////////////////////////////////////////////////////////////////////////////////
	//Generated Accessors (get/set methods) for searching criterias
	////////////////////////////////////////////////////////////////////////////////

	public String getSrchCompanyCode() {
		return this.srchCompanyCode;
	}

	public String getSrchHdrStatus() {
		return this.srchHdrStatus;
	}

	public String getSrchDtlIdFr() {
		return this.srchDtlIdFr;
	}

	public String getSrchDtlIdTo() {
		return this.srchDtlIdTo;
	}

	public String getSrchHdrLangCodeFr() {
		return this.srchHdrLangCodeFr;
	}

	public String getSrchHdrLangCodeTo() {
		return this.srchHdrLangCodeTo;
	}

	public String getSrchHdrDtlTypeFr() {
		return this.srchHdrDtlTypeFr;
	}

	public String getSrchHdrDtlTypeTo() {
		return this.srchHdrDtlTypeTo;
	}

	public String getSrchHdrDtlNameFr() {
		return this.srchHdrDtlNameFr;
	}

	public String getSrchHdrDtlNameTo() {
		return this.srchHdrDtlNameTo;
	}

	public String getSrchHdrUomFr() {
		return this.srchHdrUomFr;
	}

	public String getSrchHdrUomTo() {
		return this.srchHdrUomTo;
	}

	public String getSrchHdrRecursiveTimeFr() {
		return this.srchHdrRecursiveTimeFr;
	}

	public String getSrchHdrRecursiveTimeTo() {
		return this.srchHdrRecursiveTimeTo;
	}

	public String getSrchHdrPrecisionFr() {
		return this.srchHdrPrecisionFr;
	}

	public String getSrchHdrPrecisionTo() {
		return this.srchHdrPrecisionTo;
	}

	public String getSrchHdrLengthFr() {
		return this.srchHdrLengthFr;
	}

	public String getSrchHdrLengthTo() {
		return this.srchHdrLengthTo;
	}

	public String getSrchHdrOptionCodeFr() {
		return this.srchHdrOptionCodeFr;
	}

	public String getSrchHdrOptionCodeTo() {
		return this.srchHdrOptionCodeTo;
	}

	public void setSrchCompanyCode(String srchCompanyCode) {
		this.srchCompanyCode = srchCompanyCode;
	}

	public void setSrchHdrStatus(String srchHdrStatus) {
		this.srchHdrStatus = srchHdrStatus;
	}

	public void setSrchDtlIdFr(String srchDtlIdFr) {
		this.srchDtlIdFr = srchDtlIdFr;
	}

	public void setSrchDtlIdTo(String srchDtlIdTo) {
		this.srchDtlIdTo = srchDtlIdTo;
	}

	public void setSrchHdrLangCodeFr(String srchHdrLangCodeFr) {
		this.srchHdrLangCodeFr = srchHdrLangCodeFr;
	}

	public void setSrchHdrLangCodeTo(String srchHdrLangCodeTo) {
		this.srchHdrLangCodeTo = srchHdrLangCodeTo;
	}

	public void setSrchHdrDtlTypeFr(String srchHdrDtlTypeFr) {
		this.srchHdrDtlTypeFr = srchHdrDtlTypeFr;
	}

	public void setSrchHdrDtlTypeTo(String srchHdrDtlTypeTo) {
		this.srchHdrDtlTypeTo = srchHdrDtlTypeTo;
	}

	public void setSrchHdrDtlNameFr(String srchHdrDtlNameFr) {
		this.srchHdrDtlNameFr = srchHdrDtlNameFr;
	}

	public void setSrchHdrDtlNameTo(String srchHdrDtlNameTo) {
		this.srchHdrDtlNameTo = srchHdrDtlNameTo;
	}

	public void setSrchHdrUomFr(String srchHdrUomFr) {
		this.srchHdrUomFr = srchHdrUomFr;
	}

	public void setSrchHdrUomTo(String srchHdrUomTo) {
		this.srchHdrUomTo = srchHdrUomTo;
	}

	public void setSrchHdrRecursiveTimeFr(String srchHdrRecursiveTimeFr) {
		this.srchHdrRecursiveTimeFr = srchHdrRecursiveTimeFr;
	}

	public void setSrchHdrRecursiveTimeTo(String srchHdrRecursiveTimeTo) {
		this.srchHdrRecursiveTimeTo = srchHdrRecursiveTimeTo;
	}

	public void setSrchHdrPrecisionFr(String srchHdrPrecisionFr) {
		this.srchHdrPrecisionFr = srchHdrPrecisionFr;
	}

	public void setSrchHdrPrecisionTo(String srchHdrPrecisionTo) {
		this.srchHdrPrecisionTo = srchHdrPrecisionTo;
	}

	public void setSrchHdrLengthFr(String srchHdrLengthFr) {
		this.srchHdrLengthFr = srchHdrLengthFr;
	}

	public void setSrchHdrLengthTo(String srchHdrLengthTo) {
		this.srchHdrLengthTo = srchHdrLengthTo;
	}

	public void setSrchHdrOptionCodeFr(String srchHdrOptionCodeFr) {
		this.srchHdrOptionCodeFr = srchHdrOptionCodeFr;
	}

	public void setSrchHdrOptionCodeTo(String srchHdrOptionCodeTo) {
		this.srchHdrOptionCodeTo = srchHdrOptionCodeTo;
	}

	////////////////////////////////////////////////////////////////////////////////
	//Other Accessors (get/set methods)
	////////////////////////////////////////////////////////////////////////////////


}